﻿using Datos.Repositories;
using Entidad;
using Servicios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace RealGestion_Web.Controllers
{
    public class ClienteController : Controller
    {
        //
        // GET: /Cliente/

        public ActionResult Index()
        {
            ClienteServices clienteSvc = new ClienteServices(new ClienteRepository());
            IList<Cliente> datos = clienteSvc.FindAll();

            return View(datos);
        }

        [HttpPost]
        public ActionResult FindByNombre(string nombre)
        {
            ClienteServices clienteSvc = new ClienteServices(new ClienteRepository());
            IList<Cliente> datos = clienteSvc.FindByNombre(nombre);

            return PartialView("Index", datos);
        }

        [HttpGet]
        public ActionResult Crear()
        {
            CiudadServices ciudadSvc = new CiudadServices(new CiudadRepository());
            ViewData["ciudades"] = new SelectList(ciudadSvc.FindAll(), "Id", "Nombre");

            ProvinciaServices provinciaSvc = new ProvinciaServices(new ProvinciaRepository());
            ViewData["provincias"] = new SelectList(provinciaSvc.FindAll(), "Id", "Nombre");

            TipoIvaServices tipoivaSvc = new TipoIvaServices(new TipoIvaRepository());
            ViewData["ivas"] = new SelectList(tipoivaSvc.FindAll(), "Id", "Denominacion");

            return View();
        }


        [HttpPost]
        public ActionResult Crear(Cliente cliente)
        {
            ClienteServices clienteSvc = new ClienteServices(new ClienteRepository());
            int resultado = clienteSvc.Add(cliente);
            if (resultado > 0)
                return RedirectToAction("Index");
            else
                return View();
        }

    }
}
